Touch pad for handheld device

ABSTRACT

A touch pad system is disclosed. The system includes mapping the touch pad into native sensor coordinates. The system also includes producing native values of the native sensor coordinates when events occur on the touch pad. The system further includes filtering the native values of the native sensor coordinates based on the type of events that occur on the touch pad. The system additionally includes generating a control signal based on the native values of the native sensor coordinates when a desired event occurs on the touch pad.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is related to application Ser. No. 10/188,182,entitled, “Touch Pad for Handheld Device”, filed Jul. 1, 2002, and whichis incorporated herein by reference.

This application is related to U.S. patent application Ser. No.10/256,716, entitled “Method and System for List Scrolling,” filed onSep. 26, 2002, and which is incorporated herein by reference.

This application is also related to U.S. Design Patent Application Ser.No. 29/153,169, entitled “MEDIA PLAYER,” filed on Oct. 22, 2001, andwhich is incorporated herein by reference.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates generally to a media player having a touchpad. More particularly, the present invention relates to improved touchpads.

2. Description of the Related Art

There exist today many styles of input devices for performing operationsin a consumer electronic device. The operations generally correspond tomoving a cursor and making selections on a display screen. By way ofexample, the input devices may include buttons, switches, keyboards,mice, trackballs, touch pads, joy sticks, touch screens and the like.Each of these devices has advantages and disadvantages that are takeninto account when designing the consumer electronic device. In handheldcomputing devices, the input devices are generally selected from buttonsand switches. Buttons and switches are generally mechanical in natureand provide limited control with regards to the movement of a cursor (orother selector) and making selections. For example, they are generallydedicated to moving the cursor in a specific direction (e.g., arrowkeys) or to making specific selections (e.g., enter, delete, number,etc.). In the case of hand-held personal digital assistants (PDA), theinput devices tend to utilize touch-sensitive display screens. Whenusing a touch screen, a user makes a selection on the display screen bypointing directly to objects on the screen using a stylus or finger.

In portable computing devices such as laptop computers, the inputdevices are commonly touch pads. With a touch pad, the movement of aninput pointer (i.e., cursor) corresponds to the relative movements ofthe user's finger (or stylus) as the finger is moved along a surface ofthe touch pad. Touch pads can also make a selection on the displayscreen when one or more taps are detected on the surface of the touchpad. In some cases, any portion of the touch pad may be tapped, and inother cases a dedicated portion of the touch pad may be tapped. Instationary devices such as desktop computers, the input devices aregenerally selected from mice and trackballs. With a mouse, the movementof the input pointer corresponds to the relative movements of the mouseas the user moves the mouse along a surface. With a trackball, themovement of the input pointer corresponds to the relative movements of aball as the user rotates the ball within a housing. Both mice andtrackballs generally include one or more buttons for making selectionson the display screen.

In addition to allowing input pointer movements and selections withrespect to a GUI presented on a display screen, the input devices mayalso allow a user to scroll across the display screen in the horizontalor vertical directions. For example, mice may include a scroll wheelthat allows a user to simply roll the scroll wheel forward or backwardto perform a scroll action. In addition, touch pads may providededicated active areas that implement scrolling when the user passes hisor her finger linearly across the active area in the x and y directions.Both devices may also implement scrolling via horizontal and verticalscroll bars as part of the GUI. Using this technique, scrolling isimplemented by positioning the input pointer over the desired scrollbar, selecting the desired scroll bar, and moving the scroll bar bymoving the mouse or finger in the y direction (forwards and backwards)for vertical scrolling or in the x direction (left and right) forhorizontal scrolling.

With regards to touch pads, mice and track balls, a Cartesian coordinatesystem is used to monitor the position of the finger, mouse and ball,respectively, as they are moved. The Cartesian coordinate system isgenerally defined as a two dimensional coordinate system (x, y) in whichthe coordinates of a point (e.g., position of finger, mouse or ball) areits distances from two intersecting, often perpendicular straight lines,the distance from each being measured along a straight line parallel toeach other. For example, the x, y positions of the mouse, ball andfinger may be monitored. The x, y positions are then used tocorrespondingly locate and move the input pointer on the display screen.

To elaborate further, touch pads generally include one or more sensorsfor detecting the proximity of the finger thereto. The sensors aregenerally dispersed about the touch pad with each sensor representing anx, y position. In most cases, the sensors are arranged in a grid ofcolumns and rows. Distinct x and y position signals, which control thex, y movement of a pointer device on the display screen, are thusgenerated when a finger is moved across the grid of sensors within thetouch pad. For brevity sake, the remaining discussion will be held tothe discussion of capacitive sensing technologies. It should be noted,however, that the other technologies have similar features.

Capacitive sensing touch pads generally contain several layers ofmaterial. For example, the touch pad may include a protective shield,one or more electrode layers and a circuit board. The protective shieldtypically covers the electrode layer(s), and the electrode layer(s) isgenerally disposed on a front side of the circuit board. As is generallywell known, the protective shield is the part of the touch pad that istouched by the user to implement cursor movements on a display screen.The electrode layer(s), on the other hand, is used to interpret the x, yposition of the user's finger when the user's finger is resting ormoving on the protective shield. The electrode layer (s) typicallyconsists of a plurality of electrodes that are positioned in columns androws so as to form a grid array. The columns and rows are generallybased on the Cartesian coordinate system and thus the rows and columnscorrespond to the x and y directions.

The touch pad may also include sensing electronics for detecting signalsassociated with the electrodes. For example, the sensing electronics maybe adapted to detect the change in capacitance at each of the electrodesas the finger passes over the grid. The sensing electronics aregenerally located on the backside of the circuit board. By way ofexample, the sensing electronics may include an application specificintegrated circuit (ASIC) that is configured to measure the amount ofcapacitance in each of the electrodes and to compute the position offinger movement based on the capacitance in each of the electrodes. TheASIC may also be configured to report this information to the computingdevice.

Referring to FIG. 1, a touch pad 2 will be described in greater detail.The touch pad 2 is generally a small rectangular area that includes aprotective shield 4 and a plurality of electrodes 6 disposed underneaththe protective shield layer 4. For ease of discussion, a portion of theprotective shield layer 4 has been removed to show the electrodes 6.Each of the electrodes 6 represents a different x, y position. In oneconfiguration, as a finger 8 approaches the electrode grid 6, a tinycapacitance forms between the finger 8 and the electrodes 6 proximatethe finger 8. The circuit board/sensing electronics measures capacitanceand produces an x, y input signal 10 corresponding to the activeelectrodes 6. The x, y input signal 10 is sent to a host device 12having a display screen 14. The x, y input signal 10 is used to controlthe movement of a cursor 16 on the display screen 14. As shown, theinput pointer moves in a similar x, y direction as the detected x, yfinger motion.

SUMMARY OF THE INVENTION

The invention relates, in one embodiment, to a touch pad assembly. Thetouch pad assembly includes a touch pad having one or more sensors thatmap the touch pad plane into native sensor coordinates. The touch padassembly also includes a controller that divides the surface of thetouch pad into logical device units that represent areas of the touchpad that can be actuated by a user, receives the native values of thenative sensor coordinates from the sensors, adjusts the native values ofthe native sensor coordinates into a new value associated with thelogical device units and reports the new value of the logical deviceunits to a host device.

The invention relates, in another embodiment, to a method for a touchpad. The method includes mapping the touch pad into native sensorcoordinates. The method also includes producing native values of thenative sensor coordinates when events occur on the touch pad. The methodfurther includes filtering the native values of the native sensorcoordinates based on the type of events that occur on the touch pad. Themethod additionally includes generating a control signal based on thenative values of the native sensor coordinates when a desired eventoccurs on the touch pad.

The invention relates, in another embodiment, to a signal processingmethod. The method includes receiving a current user location. Themethod also includes determining the difference in user location bycomparing the current user location to a last user location. The methodfurther includes only outputting the current user location when thedifference in user location is larger than a threshold value. The methodadditionally includes converting the outputted current user locationinto a logical device unit. Moreover, the method includes generating amessage for a host device. The message including the more logical userlocation. The more logical user location being used by the host deviceto move a control object in a specified manner.

The invention relates, in another embodiment, to a message from a touchpad assembly to a host device in a computer system that facilitatesbidirectional communications between the touch pad assembly and the hostdevice. The message includes an event field identifying whether themessage is a touch pad event or a button event. The message alsoincludes an event identifier field identifying at least one eventparameter, each event parameter having an event value, the event valuefor a touch pad event parameter indicating an absolute position, theevent value for a button event parameter indicating button status.

The invention relates, in another embodiment, to a touch pad assemblycapable of transforming a user action into motion onto a display screen,the touch pad system including a touch pad having a plurality ofindependent and spatially distinct button zones each of which representsa different movement direction on the display screen so as to enablejoystick implementations, multiple dimensional menu selection or photoimage panning.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1 is a simplified diagram of a touch pad and display.

FIG. 2 is a diagram of a computing system, in accordance with oneembodiment of the present invention.

FIG. 3 is a flow diagram of signal processing, in accordance with oneembodiment of the invention.

FIG. 4 is a flow diagram of touch pad processing, in accordance with oneembodiment of the invention.

FIG. 5 is a flow diagram of a touch pad processing, in accordance withone embodiment of the invention.

FIG. 6 is a diagram of a communication protocol, in accordance with oneembodiment of the present invention.

FIG. 7 is a diagram of a message format, in accordance with oneembodiment of the present invention.

FIG. 8 is a perspective view of a media player, in accordance with oneembodiment of the invention.

FIG. 9 is a front view of a media player, in accordance with oneembodiment of the present invention.

FIG. 10 is a front view of a media player, in accordance with oneembodiment of the present invention.

FIGS. 11A-11D are top views of a media player in use, in accordance withone embodiment of the present invention.

FIG. 12 is a partially broken away perspective view of an annularcapacitive touch pad, in accordance with one embodiment of the presentinvention.

FIG. 13 is a top view of a sensor arrangement of a touch pad, inaccordance with another embodiment of the present invention.

FIG. 14 is a top view of a sensor arrangement of a touch pad, inaccordance with another embodiment of the present invention.

FIG. 15 is a top view of a sensor arrangement of a touch pad, inaccordance with another embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described in detail with reference toa few preferred embodiments thereof as illustrated in the accompanyingdrawings. In the following description, numerous specific details areset forth in order to provide a thorough understanding of the presentinvention. It will be apparent, however, to one skilled in the art, thatthe present invention may be practiced without some or all of thesespecific details. In other instances, well known process steps have notbeen described in detail in order not to unnecessarily obscure thepresent invention.

FIG. 2 is a diagram of a computing system 20, in accordance with oneembodiment of the present invention. The computing system 20 includes atleast a user interface 22 and a host device 24. The user interface 22 isconfigured to provide control information for performing actions in thehost device 24. By way of example, the actions may include makingselections, opening a file or document, executing instructions, startinga program, viewing a menu, and/or the like. The actions may also includemoving an object such as a pointer or cursor on a display screen of thehost device 24. Although not shown in FIG. 2, the user interface 22 maybe integrated with the host device 24 (within the same housing) or itmay be a separate component (different housing).

The user interface 22 includes one or more touch buttons 34, a touch pad36 and a controller 38. The touch buttons 34 generate button data when auser places their finger over the touch button 34. The touch pad, on theother hand, generates position data when a user places their finger (orobject) over the touch pad 36. The controller 38 is configured toacquire the button data from the touch buttons 34 and the position datafrom the touch pad 36. The controller is also configured to outputcontrol data associated with the button data and/or position data to thehost device 24. In one embodiment, the controller 38 only outputscontrol data associated with the touch buttons when the button statushas changed. In another embodiment, the controller 38 only outputscontrol data associated with the touch pad when the position data haschanged. The control data, which may include the raw data (button,position) or some form of thereof, may be used to implement a controlfunction in the host device 24. By way of example, the control data maybe used to move an object on the display 30 of the host device 24 or tomake a selection or issue a command in the host device 24.

The touch buttons 34 and touch pad 36 generally include one or moresensors capable of producing the button and position data. The sensorsof the touch buttons 34 and touch pad 36 may be distinct elements orthey may be grouped together as part of a sensor arrangement, i.e.,divided into sensors for the touch buttons 34 and sensors for the touchpad 36. The sensors of the touch buttons 34 are configured to producesignals associated with button status (activated, not activated). Forexample, the button status may indicate button activation when an objectis positioned over the touch button and button deactivation at othertimes (or vice versa). The sensors of the touch pad 36 are configuredproduce signals associated with the absolute position of an object on ornear the touch pad 36. In most cases, the sensors of the touch pad 36map the touch pad plane into native or physical sensor coordinates 40.The native sensor coordinates 40 may be based on Cartesian coordinatesor Polar coordinates (as shown). When Cartesian, the native sensorcoordinates 40 typically correspond to x and y coordinates. When Polar(as shown), the native sensor coordinates typically correspond to radialand angular coordinates (r, .theta.). By way of example, the sensors maybe based on resistive sensing, surface acoustic wave sensing, pressuresensing (e.g., strain gauge), optical sensing, capacitive sensing andthe like.

In one embodiment, the user interface 22 includes a sensor arrangementbased on capacitive sensing. The user interface 22 is therefore arrangedto detect changes in capacitance as a finger moves, taps, or rests onthe touch buttons 34 and touch pad 36. The capacitive touch assembly isformed from various layers including at least a set of labels, a set ofelectrodes (sensors) and a printed circuit board (PCB). The electrodesare positioned on the PCB, and the labels are position over theelectrodes. The labels serve to protect the electrodes and provide asurface for receiving a finger thereon. The label layer also provides aninsulating surface between the finger and the electrodes. As should beappreciated, the controller 38 can determine button status at each ofthe touch buttons 34 and position of the finger on the touch pad 36 bydetecting changes in capacitance. In most cases, the controller 38 ispositioned on the opposite side of the PCB. By way of example, thecontroller 38 may correspond to an application specific integratedcircuit (ASIC), and it may operate under the control of Firmware storedon the ASIC.

Referring to the controller 38, the controller 38 is configured tomonitor the sensors of the touch buttons 34 and touch pad 36 and decidewhat information to report to the host device 24. The decision mayinclude filtering and/or conversion processes. The filtering process maybe implemented to reduce a busy data stream so that the host device 24is not overloaded with redundant or non-essential data. By way ofexample, a busy data stream may be created when multiple signals areproduced at native sensor coordinates 40 that are in close proximity toone another. As should be appreciated, processing a busy data streamtends to require a lot of power, and therefore it can have a disastrouseffect on portable devices such as media players that use a battery witha limited power supply. Generally speaking, the filtering process throwsout redundant signals so that they do not reach the host device 24. Inone implementation, the controller 38 is configured to only output acontrol signal when a significant change in sensor signals is detected.A significant change corresponds to those changes that are significant,as for example, when the user decides to move his/her finger to a newposition rather than when the user's finger is simply resting on a spotand moving ever so slightly because of finger balance (toggling back andforth). The filter process may be implemented through Firmware as partof the application specific integrated circuit.

The conversion process, on the other hand, is implemented to adjust theraw data into other form factors before sending or reporting them to thehost device 24. That is, the controller 38 may convert the raw data intoother types of data. The other types of data may have similar ordifferent units as the raw data. In the case of the touch pad 36, thecontroller 38 may convert the position data into other types of positiondata. For example, the controller 38 may convert absolute position datato relative position data. As should be appreciated, absolute positionrefers to the position of the finger on the touch pad measuredabsolutely with respect to a coordinate system while relative positionrefers to a change in position of the finger relative to the finger'sprevious position. The controller 38 may also convert multiple absolutecoordinates into a single absolute coordinate, Polar coordinates intoCartesian coordinates, and/or Cartesian coordinates into Polarcoordinates. The controller 38 may also convert the position data intobutton data. For example, the controller may generate button controlsignals when an object is tapped on a predetermined portion of the touchpad or other control signals when an object is moved in a predeterminedmanner over the touch pad (e.g., gesturing).

The conversion may also include placing the control signal in a formatthat the host device 24 can understand. By way of example, thecontroller 38 may follow a predetermined communication protocol. As isgenerally well known, communication protocols are a set of rules andprocedures for exchanging data between two devices such as the userinterface 22 and the host device 24. Communication protocols typicallytransmit information in data blocks or packets that contain the data tobe transmitted, the data required to guide the packet to itsdestination, and the data that corrects errors that occur along the way.The controller may support a variety of communication protocols forcommunicating with the host device, including but not limited to, PS/2,Serial, ADB and the like. In one particular implementation, a Serialprotocol is used.

The conversion process may include grouping at least a portion of thenative coordinates 40 together to form one or more virtual actuationzones 42. For example, the controller 38 may separate the surface of thetouch pad 36 into virtual actuation zones 42A-D and convert the nativevalues of the native sensor coordinates 40 into a new value associatedwith the virtual actuation zones 42A-D. The new value may have similaror different units as the native value. The new value is typicallystored at the controller 38 and subsequently passed to the host device24. Generally speaking, the controller 38 outputs a control signalassociated with a particular virtual actuation zone 42 when most of thesignals are from native sensor coordinates 40 located within theparticular virtual actuation zone 42.

The virtual actuation zones 42 generally represent a more logical rangeof values than the native sensor coordinates 40 themselves, i.e., thevirtual actuation zones 42 represent areas of touch pad 36 that can bebetter actuated by a user (magnitudes larger). The ratio of nativesensor coordinates 40 to virtual actuation zones 42 may be between about1024:1 to about 1:1, and more particularly about 8:1. For example, thetouch pad may include 128 virtual actuation areas based on 1024 nativesensor coordinates.

The virtual actuation zones 42 may be widely varied. For example, theymay represent absolute positions on the touch pad 36 that are magnitudeslarger than the native sensor coordinates 40. For example, the touch pad36 can be broken up into larger slices than would otherwise beattainable using the native sensor coordinates 40. In oneimplementation, the virtual actuation zones 42 are distributed on thetouch pad 36 within a range of 0 to 95 angular positions. The angularposition is zero at the 12 o clock position and progresses clockwise to95 as it comes around to 12 o'clock again.

The virtual actuation zones 42 may also represent areas of the touch padthat can be actuated by a user to implement specific control functionssuch as button or movement functions. With regards to button functions,the virtual actuation zones 42 may correspond to button zones that actlike touch buttons. With regards to movement functions, each of thevirtual actuation zones 42 may correspond to different movementdirections such that they act like arrow keys. For example, virtualactuation zone 42A may represent an upward movement, virtual actuationzone 42B may represent a downward movement, virtual actuation zone 42Cmay represent a left movement, and virtual actuation zone 42D mayrepresent right movement. As should be appreciated, this type of touchpad configuration may enable game stick implementations, two dimensionalmenu selection, photo image panning and the like.

Although not shown, the controller 38 may also include a storageelement. The storage element may store a touch pad program forcontrolling different aspects of the user interface 22. For example, thetouch pad program may contain virtual actuation zone profiles thatdescribe how the virtual actuation zones are distributed around thetouch pad relative to the native sensor coordinates and what type ofvalue to output based on the native values of the native sensorcoordinates selected and the virtual actuation zone corresponding to theselected native sensor coordinates.

In one particular touch pad operation, the controller 38 receives theposition data from the touch pad 36. The controller 38 then passes thedata through a filtering process. The filtering process generallyincludes determining if the data is based on noise events or actualevents. Noise events are associated with non significant events such aswhen a user's finger is simply resting on a spot and moving ever soslightly because of finger balance. Actual events are associated withsignificant events such as when a user decides to move his/her finger toa new position on the touch pad. The noise events are filtered out andthe actual events are passed through the controller 38.

With actual events, the controller 38 determines if the position datashould be adjusted. If not, the position data is reported to the hostdevice 24. If so, the position data is converted into other form factorsincluding but not limited to other position data or button data. Forexample, the native values of the sensor coordinates are converted intoa new value associated with a selected virtual actuation zone. After theconversion, the controller 38 reports the converted data to the hostdevice 24. By way of example, the controller 38 may pass the new valueto a main system processor that executes the main application programrunning on the host device 24.

Referring to the host device 24, the host device 24 generally includes acontrol circuit 26. The control circuit 26 is configured to executeinstructions and carry out operations associated with the host device24. For example, the control circuit 26 may control the reception andmanipulation of input and output data between the components of thecomputing system 20. The host device 24 may also include a hold switch28 for activating or deactivating communications between the host device24 and the user interface 22. The host device may additionally include adisplay 30 configured to produce visual information such as text andgraphics on a display screen 32 via display commands from the controlcircuit 26. By way of example, the visual information may be in the formof a graphical user interface (GUI). Although not shown, the host devicemay additionally include one or more speakers or jacks that connect toheadphones/speakers.

The control circuit may be widely varied. The control circuit mayinclude one or more processors 27 that together with an operating systemoperate to execute computer code and produce and use data. The processor27 can be a single-chip processor or can be implemented with multiplecomponents. The computer code and data may reside within data storagethat is operatively coupled to the processor. Data storage generallyprovides a place to hold data that is being used by the computer system20. By way of example, the data storage may include Read-Only Memory(ROM), Random-Access Memory (RAM), hard disk drive and/or the like.Although not shown, the control circuit may also include an input/outputcontroller that is operatively coupled to the processor. Theinput/output controller generally operates by exchanging data betweenthe host device 24 and the I/O devices that desire to communicate withthe host device 24 (e.g., touch pad assembly 22). The control circuitalso typically includes a display controller that is operatively coupledto the processor. The display controller is configured to processdisplay commands to produce text and graphics on the display screen 32of the host device 24. The input/output controller and displaycontroller may be integrated with the processor or they may be separatecomponents.

It should be noted that the control circuit 26 may be configured toperform some of the same functions as the controller 38. For example,the control circuit 26 may perform conversion processes on the datareceived from the controller 38. The conversion may be performed on rawdata or on already converted data.

FIG. 3 is a flow diagram of signal processing 50, in accordance with oneembodiment of the invention. By way of example, the signal processing 50may be performed by the computing system shown in FIG. 2. Signalprocessing 50 generally begins at block 52 where a user input isproduced at the user interface 22. The user input is typically based onsignals generated by the sensor arrangement of the touch buttons andtouchpad. The user input may include raw data. The user input may alsoinclude filtered or converted data.

Following block 52, the processing proceeds to block 54 where the userinput is reported to the control circuit of the host device. The userinput may contain both button and position data or it may only containbutton data or position data. The user input is typically reported whena change is made and more particularly when a desired change is made atthe user interface (filtered). For example, button data may be reportedwhen the button status has changed and position data may be reportedwhen the position of a finger has changed.

Following block 54, the processing proceeds to block 56 where an actionis performed in the host device based on the user input. The actions aretypically controlled by the control circuit of the host device. Theactions may include making selections, opening a file or document,executing instructions, starting a program, viewing a menu, and/or thelike. The actions may also include moving an object such as a pointer orcursor on a display screen of the host device 24.

FIG. 4 is a flow diagram of touch pad processing 60, in accordance withone embodiment of the invention. Touch pad processing 60 generallybegins at block 62 where at least one control object is displayed on agraphical user interface. The control object may be a cursor, sliderbar, image or the like. By way of example, the GUI may be displayed onthe display 30 of the host device 24. The GUI is typically under thecontrol of the processor of the host device 24.

Following block 62, the processing proceeds to block 64 where an angularor radial referenced input is received. By way of example, the angularor radial referenced input may be produced by the user interface 22 andreceived by the processor of the host device 24. The angular or radialreferenced input may be raw data formed by the sensor arrangement orconverted data formed at the controller. Furthermore, the raw orconverted data may be filtered so as to reduce a busy data stream.

Following block 64, touch pad processing proceeds to block 66 where thecontrol object is modified based on the angular or radial referencedinput. For example, the direction that a control object such as afootball player in a football game is moving may be changed from a firstdirection to a second direction or a highlight bar may be moved throughmultiple images in a photo library. The modification is typicallyimplemented by the processor of the host device.

FIG. 5 is a flow diagram of a touch pad processing 70, in accordancewith one embodiment of the invention. By way of example, touch padprocessing may be performed by the controller shown in FIG. 2.Furthermore, it may be associated with blocks 52/54 and 62 shown inFIGS. 3 and 4. Touch pad processing 70 generally begins at block 72where a current user location is received. The current user locationcorresponds to the current location of the user's finger on the touchpad. For example, the controller may detect the changes in sensor levelsat each of the native sensor coordinates and thereafter determine thecurrent location of the user's finger on the touch pad based on thechange in sensor levels at each of the native sensor coordinates.

Following block 72, the process flow proceeds to block 74 where adetermination is made as to whether the current user location is withina threshold from the last user location, i.e., the user location thatprecedes the current user location. In some cases, the current userlocation is compared to the last user location to determine thedifference in user location, i.e., how much movement occurred betweenthe current and last readings. If the current user location is withinthe threshold then an undesired change has been made and the processflow proceeds back to block 72. If the current location is outside thethreshold then a desired change has been made and the process flowproceeds to block 76. By way of example:

Undesired change: |currentUserLocation=lastUserLocation|<Threshold

Desired change: |currentUserLocation−lastUserLocation‥≥Threshold

In one embodiment, the threshold may be defined as the number of sensorlevels that need to change in order to report a change in the userfinger location to the main system processor of the host device. In oneparticular implementation, the threshold is equal to about 3.

The threshold may be determined by the following equation:

Threshold(T)=C*(native sensor coordinate resolution/logical device unitresolution),

where the native sensor coordinate resolution defines the maximum numberof different positions that the sensors are able to detect for aspecific plane coordinate system, the logical device unit resolutiondefines the number of values that are communicated to the main systemprocessor of the host device for the said specific plane coordinatesystem, and coefficient C defines the width border area between theclusters of native sensor coordinates that define one logical deviceunit.

The coefficient C is generally determined by the sensitivity needed toinitiate a user event to the main system processor of the host device.It customizes the threshold value to the physical limitations of thesensor technology and the expected noise of the user finger events.Larger values tend to filter more events and reduce sensitivity. Thesystem designer may pick the exact value of C by testing several valuesto strike optimal balance between sensitivity and stability of the userfinger location. The coefficient C is typically a value between 0 and0.5, and more particularly about 0.25. As should be appreciated, thethreshold (T) is about 2 when the native sensor coordinate resolution isabout 1024, the logical device unit resolution is about 128 and thecoefficient is about 0.25.

In block 76, a new value associated with a particular logical deviceunit is generated based on the changed native sensor coordinatesassociated with the particular logical device unit. In most cases, theraw number of slices in the form of native sensor coordinates aregrouped into a more logical number of slices in the form of logicaldevice units (e.g., virtual actuation zones).

Following block 76, the process flow proceeds to block 78 where the lastuser location is updated. That is, the last current location is changedto the current user location. The current user location now acts as thelast user location for subsequent processing.

Following block 78, the process flow proceeds to block 80 where amessage is sent. In most cases, the message is sent when the differencebetween the current and last user location is larger than the thresholdvalue. The message generally includes the new value associated with theselected logical device unit. By way of example, the touch pad may senda message to the main system processor of the host device. When receivedby the main system processor, the message may be used to make anadjustment in the host device, i.e., cause a control object to move in aspecified manner.

FIG. 6 is a diagram of a communication protocol 82, in accordance withone embodiment of the present invention. By way of example, thecommunication protocol may be used by the user interface and host deviceof FIG. 2. In this particular embodiment, the user interface 22 has onededicated input ACTIVE line that is controlled by the control circuit26. The state of the ACTIVE line signal may be set at LOW or HIGH. Thehold switch 28 may be used to change the state of the ACTIVE line signal(for example when the hold switch is in a first position or secondposition). As shown in FIG. 6, when the ACTIVE signal is set to HIGH,the user interface 22 sends a synch message to the control circuit 26that describes the Button and Touch pad status (e.g., button state andtouch pad position). In one embodiment, new synch messages are only sentwhen the Button state and/or the Touch Pad status changes. For example,when the touch pad position has changed within a desired limit. When theACTIVE signal is set to LOW, the user interface 22 does not send a synchmessage to the control circuit 26. When the ACTIVE signal is toggledfrom LOW to HIGH, the user interface 22 sends a Button state and touchpad position message. This may be used on startup to initialize thestate. When the ACTIVE signal is toggled from HIGH to LOW, the userinterface 22 does not send a synch message to the control circuit 26. Inone embodiment, the user interface 22 is configured to send a two databyte message if both the Buttons and touch pad positions changes sincethe last message was sent, and a one data byte message if only onebutton state or touch pad position changes.

FIG. 7 is a diagram of a message format 86, in accordance with oneembodiment of the present invention. By way of example, the messageformat 86 may correspond to the synch message described in FIG. 6. Themessage format 86 may form a two data byte message or a one data bytemessage. Each data byte is configured as an 8 bit message. The upperMost Significant Bit (MSB) of the message is the event type (1 bit) andthe lower Least Significant Bits (LSB) are the event value (7 bits).

The event value is event type specific. In FIG. 7, the event type bitsare marked as E0, and the event value is marked as D0-D6. As indicatedin the diagram, the event type may be a touch pad position change E1 ora button state change E0 when the button is being touched or E1 when thebutton is not being touched. The event values may correspond todifferent button events such as seeking forwards (D4), seeking backwards(D3), playing and pausing (D2), providing a menu (D1) and makingselections (D0). The event values may also correspond to touch padevents such as touchpad position (D5). For example, in a touch pad thatdefines the logical coordinates in polar coordinates from 0-127, theevent value may correspond to an absolute touch pad position in therange of 0-127 angular positions where zero is 12 o clock, 32 is 3 oclock, 64 is 6 o clock and 96 is 9 o clock, etc. going clockwise. Theevent values may also correspond to a reserve (D6). The reserve is anunused bit that may be used to extend the API.

FIG. 8 is a perspective diagram of a media player 100, in accordancewith one embodiment of the present invention. By way of example, themedia player 100 may generally correspond to the host device shown inFIG. 2. The term “media player” generally refers to computing devicesthat are dedicated to processing media such as audio, video or otherimages, as for example, music players, game players, video players,video recorders, cameras, and the like. In some cases, the media playerscontain single functionality (e.g., a media player dedicated to playingmusic) and in other cases the media players contain multiplefunctionality (e.g., a media player that plays music, displays video,stores pictures and the like). In either case, these devices aregenerally portable so as to allow a user to listen to music, play gamesor video, record video or take pictures wherever the user travels.

In one embodiment, the media player 100 is a handheld device that issized for placement into a pocket of the user. By being pocket sized,the user does not have to directly carry the device and therefore thedevice can be taken almost anywhere the user travels (e.g., the user isnot limited by carrying a large, bulky and often heavy device, as in alaptop or notebook computer). For example, in the case of a musicplayer, a user may use the device while working out at the gym. In caseof a camera, a user may use the device while mountain climbing. In thecase of a game player, the user can use the device while traveling in acar. Furthermore, the device may be operated by the users hands, noreference surface such as a desktop is needed (this is shown in greaterdetail in FIG. 6). In the illustrated embodiment, the media player 100is a pocket sized hand held MP3 music player that allows a user to storea large collection of music (e.g., in some cases up to 4,000 CD-qualitysongs). By way of example, the MP3 music player may correspond to theiPod MP3 player manufactured by Apple Computer of Cupertino, Calif.Although used primarily for storing and playing music, the MP3 musicplayer shown herein may also include additional functionality such asstoring a calendar and phone lists, storing and playing games, storingphotos and the like. In fact, in some cases, it may act as a highlytransportable storage device.

As shown in FIG. 8, the media player 100 includes a housing 102 thatencloses internally various electrical components (including integratedcircuit chips and other circuitry) to provide computing operations forthe media player 100. In addition, the housing may also define the shapeor form of the media player. That is, the contour of the housing 102 mayembody the outward physical appearance of the media player 100. Theintegrated circuit chips and other circuitry contained within thehousing may include a microprocessor (e.g., CPU), memory (e.g., ROM,RAM), a power supply (e.g., battery), a circuit board, a hard drive,other memory (e.g., flash) and/or various input/output (I/O) supportcircuitry. The electrical components may also include components forinputting or outputting music or sound such as a microphone, amplifierand a digital signal processor (DSP). The electrical components may alsoinclude components for capturing images such as image sensors (e.g.,charge coupled device (CCD) or complimentary oxide semiconductor (CMOS))or optics (e.g., lenses, splitters, filters).

In the illustrated embodiment, the media player 100 includes a harddrive thereby giving the media player 100 massive storage capacity. Forexample, a 20 GB hard drive can store up to 4000 songs or about 266hours of music. In contrast, flash-based media players on average storeup to 128 MB, or about two hours, of music. The hard drive capacity maybe widely varied (e.g., 5, 10, 20 MB, etc.). In addition to the harddrive, the media player 100 shown herein also includes a battery such asa rechargeable lithium polymer battery. These type of batteries arecapable of offering about 10 hours of continuous playtime to the mediaplayer 100.

The media player 100 also includes a display screen 104 and relatedcircuitry. The display screen 104 is used to display a graphical userinterface as well as other information to the user (e.g., text, objects,graphics). By way of example, the display screen 104 may be a liquidcrystal display (LCD). In one particular embodiment, the display screen104 corresponds to a 160-by-128-pixel high-resolution display, with awhite LED backlight to give clear visibility in daylight as well aslow-light conditions. As shown, the display screen 104 is visible to auser of the media player 100 through an opening 105 in the housing 102.

The media player 100 also includes a touch pad 110. The touch pad is anintuitive interface that provides easy one-handed operation, i.e., letsa user interact with the media player 100 with one or more fingers. Thetouch pad 110 is configured to provide one or more control functions forcontrolling various applications associated with the media player 100.For example, the touch initiated control function may be used to move anobject on the display screen 104 or to make selections or issue commandsassociated with operating the media player 100. In order to implementthe touch initiated control function, the touch pad 110 may be arrangedto receive input from a finger moving across the surface of the touchpad 110, from a finger holding a particular position on the touch padand/or by a finger tapping on a particular position of the touch pad.

The touch pad 110 generally consists of a touchable outer surface 111for receiving a finger for manipulation on the touch pad 110. Beneaththe touchable outer surface 111 is a sensor arrangement 112. The sensorarrangement 112 includes one or more sensors that are configured toactivate as the finger sits on, taps on or passes over them. The sensorarrangement 112 may be based on a Cartesian coordinate system, a Polarcoordinate system or some other coordinate system. In the simplest case,an electrical signal is produced each time the finger is positioned overa sensing coordinate of the sensor arrangement 112. The number ofsignals in a given time frame may indicate location, direction, speedand acceleration of the finger on the touch pad, i.e., the more signals,the more the user moved his or her finger. In most cases, the signalsare monitored by a control assembly that converts the number,combination and frequency of the signals into location, direction, speedand acceleration information and reports this information to the mainsystem processor of the media player. This information may then be usedby the media player 100 to perform the desired control function on thedisplay screen 104.

In one embodiment, the surface of the touch pad 110 is divided intoseveral independent and spatially distinct actuation zones 113A-Ddisposed around the periphery of the touch pad 110. The actuation zonesgenerally represent a more logical range of user inputs than the sensorsthemselves. Generally speaking, the touch pad 110 outputs a controlsignal associated with a particular actuation zone 113 when most of thesignals are from sensing coordinates located within the particularactuation zone 113. That is, when an object approaches a zone 113, aposition signal is generated at one or more sensing coordinates. Theposition signals generated by the one or more sensing coordinates may beused to inform the media player 100 that the object is at a specificzone 113 on the touch pad 110.

The actuation zones may be button zones or positional zones. When buttonzones, a button control signal is generated when an object is placedover the button zone. The button control signal may be used to makeselections, open a file, execute instructions, start a program, view amenu in the media player. When positional zones, a position controlsignal is generated when an object is placed over the positional zone.The position signals may be used to control the movement of an object ona display screen of the media player. The distribution of actuationzones may be controlled by touch pad translation software or firmwarethat converts physical or native coordinates into virtual representationin the form of actuation zones. The touch pad translation software maybe run by the control assembly of the touch pad or the main systemprocessor of the media player. In most cases, the control assemblyconverts the acquired signals into signals that represent the zonesbefore sending the acquired signals to the main system processor of themedia player.

The position control signals may be associated with a Cartesiancoordinate system (x and y) or a Polar coordinate system (r, .theta.).Furthermore, the position signals may be provided in an absolute orrelative mode. In absolute mode, the absolute coordinates of where it isbeing touched on the touch pad are used. For example x, y in the case ofthe Cartesian coordinate system or (r, .theta.) in the case of the Polarcoordinate system. In relative mode, the change in position of thefinger relative to the finger's previous position is used. The touch padmay be configured to operate in a Cartesian-absolute mode, aCartesian-relative mode, a Polar-absolute mode or a Polar-relative mode.The mode may be controlled by the touch pad itself or by othercomponents of the media player system.

In either case, a user may select which mode that they would like tooperate in the media player system or the applications running on themedia player system may automatically set the mode of the media playersystem. For example, a game application may inform the media playersystem to operate in an absolute mode so that the touch pad can beoperated as a joystick or a list application may inform the media playersystem to operate in a relative mode so that the touch pad can beoperated as a scroll bar.

In one embodiment, each of the zones 113 represents a different polarangle that specifies the angular position of the zone 113 in the planeof the touch pad 110. By way of example, the zones 113 may be positionedat 90 degree increments all the way around the touch pad 110 orsomething smaller as for example 2 degree increments all the way aroundthe touch pad 110. In one embodiment, the touch pad 110 may convert 1024physical positions in the form of sensor coordinates, to a more logicalrange of 0 to 127 in the form of positional zones. As should beappreciated, the touch pad internal accuracy (1024 positions) is muchlarger than the accuracy (128 positions) needed for making movements onthe display screen.

The position of the touch pad 110 relative to the housing 102 may bewidely varied. For example, the touch pad 110 may be placed at anyexternal surface (e.g., top, side, front, or back) of the housing 102that is accessible to a user during manipulation of the media player100. In most cases, the touch sensitive surface 111 of the touch pad 110is completely exposed to the user. In the illustrated embodiment, thetouch pad 110 is located in a lower, front area of the housing 102.Furthermore, the touch pad 110 may be recessed below, level with, orextend above the surface of the housing 102. In the illustratedembodiment, the touch sensitive surface 111 of the touch pad 110 issubstantially flush with the external surface of the housing 102.

The shape of the touch pad 110 may also be widely varied. For example,the touch pad 110 may be circular, rectangular, triangular, and thelike. In general, the outer perimeter of the shaped touch pad definesthe working boundary of the touch pad. In the illustrated embodiment,the touch pad 110 is circular. This particular shape works well withPolar coordinates. More particularly, the touch pad is annular, i.e.,shaped like or forming a ring. When annular, the inner and outerperimeter of the shaped touch pad defines the working boundary of thetouch pad.

In addition to above, the media player 100 may also include one or morebuttons 114. The buttons 114 are configured to provide one or morededicated control functions for making selections or issuing commandsassociated with operating the media player 100. By way of example, inthe case of an MP3 music player, the button functions may be associatedwith opening a menu, playing a song, fast forwarding a song, seekingthrough a menu and the like. The buttons 114 may be mechanical clickingbuttons and/or they may be touch buttons. In the illustrated embodiment,the buttons are touch buttons that receive input from a fingerpositioned over the touch button. Like the touch pad 110, the touchbuttons 114 generally consist of a touchable outer surface for receivinga finger and a sensor arrangement disposed below the touchable outersurface. By way of example, the touch buttons and touch pad maygenerally correspond to the touch buttons and touch pad shown in FIG. 2.

The position of the touch buttons 114 relative to the touch pad 110 maybe widely varied. For example, they may be adjacent one another orspaced apart. In the illustrated embodiment, the buttons 114 are placedabove the touch pad 110 in a linear manner as well as in the center ofthe annular touch pad 110. By way of example, the plurality of buttons114 may consist of a menu button, play/stop button, forward seek button,a reverse seek button, and the like.

Moreover, the media player 100 may also include a hold switch 115. Thehold switch 115 is configured to activate or deactivate the touch padand/or buttons. This is generally done to prevent unwanted commands bythe touch pad and/or buttons, as for example, when the media player isstored inside a user's pocket. When deactivated, signals from thebuttons and/or touch pad are not sent or are disregarded by the mediaplayer. When activated, signals from the buttons and/or touch pad aresent and therefore received and processed by the media player.

Moreover, the media player 100 may also include one or more headphonejacks 116 and one or more data ports 118. The headphone jack 116 iscapable of receiving a headphone connector associated with headphonesconfigured for listening to sound being outputted by the media device100. The data port 118, on the other hand, is capable of receiving adata connector/cable assembly configured for transmitting and receivingdata to and from a host device such as a general purpose computer (e.g.,desktop computer, portable computer). By way of example, the data port118 may be used to upload or down load audio, video and other images toand from the media device 100. For example, the data port may be used todownload songs and play lists, audio books, ebooks, photos, and the likeinto the storage mechanism of the media player.

The data port 118 may be widely varied. For example, the data port maybe a PS/2 port, a serial port, a parallel port, a USB port, a Firewireport and/or the like. In some cases, the data port 118 may be a radiofrequency (RF) link or optical infrared (IR) link to eliminate the needfor a cable. Although not shown in FIG. 2, the media player 100 may alsoinclude a power port that receives a power connector/cable assemblyconfigured for delivering powering to the media player 100. In somecases, the data port 118 may serve as both a data and power port. In theillustrated embodiment, the data port 118 is a Firewire port having bothdata and power capabilities.

Although only one data port is described, it should be noted that thisis not a limitation and that multiple data ports may be incorporatedinto the media player. In a similar vein, the data port may includemultiple data functionality, i.e., integrating the functionality ofmultiple data ports into a single data port. Furthermore, it should benoted that the position of the hold switch, headphone jack and data porton the housing may be widely varied. That is, they are not limited tothe positions shown in FIG. 2. They may be positioned almost anywhere onthe housing (e.g., front, back, sides, top, bottom). For example, thedata port may be positioned on the bottom surface of the housing ratherthan the top surface as shown.

Referring to FIG. 9, the touch pad 110 will be described in greaterdetail. In this particular embodiment, the touch pad is operating in anabsolute mode. That is, the touch pad reports the absolute coordinatesof where it is being touched. As shown, the touch pad 110 includes oneor more zones 124. The zones 124 represent regions of the touch pad 110that may be actuated by a user to implement one or more actions ormovements on the display screen 104.

The distribution of the zones 124 may be widely varied. For example, thezones 124 may be positioned almost anywhere on the touch pad 110. Theposition of the zones 124 may depend on the coordinate system of thetouch pad 110. For example, when using polar coordinates, the zones 124may have one or more radial and/or angular positions. In the illustratedembodiment, the zones 124 are positioned in multiple angular positionsof the Polar coordinate system. Further, the zones 124 may be formedfrom almost any shape whether simple (e.g., squares, circles, ovals,triangles, rectangles, polygons, and the like) or complex (e.g., randomshapes). The shape of multiple button zones 124 may have identicalshapes or they may have different shapes. In addition, the size of thezones 124 may vary according to the specific needs of each device. Insome cases, the size of the zones 124 corresponds to a size that allowsthem to be easily manipulated by a user (e.g., the size of a finger tipor larger). In other cases, the size of the zones 124 are small so as toimprove resolution of the touch pad 110. Moreover, any number of zones124 may be used. In the illustrated embodiment, four zones 124A-D areshown. It should be noted, however, that this is not a limitation andthat the number varies according to the specific needs of each touchpad. For example, FIG. 5 shows the media player 100 with 16 button zones124A-P.

The number of zones 124 generally depends on the number of sensorcoordinates located within the touch pad 110 and the desired resolutionof the touch pad 110. The sensors are configured to sense user actionson the zones 124 and to send signals corresponding to the user action tothe electronic system. By way of example, the sensors may be capacitancesensors that sense capacitance when a finger is in close proximity. Thearrangement of the sensors typically varies according to the specificneeds of each device. In one particular embodiment, the touch pad 110includes 1024 sensor coordinates that work together to form 128 zones.

Referring to FIGS. 9 and 10, the zones 124 when actuated are used toproduce on screen movements 126. The control signal for the on screenmovements may be initiated by the touch pad electronics or by the mainsystem processor of the media player. By tapping or touching the zone,an object can be moved on the display. For example, each zone 124 may beconfigured to represent a particular movement on the display screen 104.In the illustrated embodiments, each of the zones 124 represents aparticular direction of movement. The directions may be widely varied,however, in the illustrated embodiment, the directions generallycorrespond to angular directions (e.g., similar to the arrow keys on thekeyboard).

Referring to FIG. 9, for example, the touch pad 110 is divided intoseveral independent and spatially distinct zones 124A-D, each of whichcorresponds to a particular movement direction 126A-D (as shown byarrows), respectively. When zone 124A is actuated, on screen movements126A (to the right) are implemented. When zone 124B is actuated, onscreen movements 126B (upwards) are implemented. When zone 124C isactuated, on screen movements 126C (to the left) are implemented. Whenzone 124D is actuated, on screen movements 126D (down wards) areimplemented. As should be appreciated, these embodiments are well suitedfor joystick implementations, two dimensional menu selection, photoimage panning and the like.

FIGS. 11A-11D show the media player 100 of FIG. 8 being used by a user130, in accordance with one embodiment of the invention. In thisembodiment, the media player 100 is being addressed for one handedoperation in which the media player 100 is held in the user's hand 136while the buttons and touch pad 110 are manipulated by the thumb 138 ofthe same hand 136. By way of example, the palm 140 and rightmost fingers141 (or leftmost fingers if left handed) of the hand 136 are used togrip the sides of the media player 100 while the thumb 138 is used toactuate the touch pad 110. As shown, the entire top surface of the touchpad 110 is accessible to the user's thumb 138. Referring to FIG. 11A, onscreen movements 126A to the right are implemented when the thumb 138 isplaced (or tapped) on button zone 124A. Referring to FIG. 11B, on screenmovements 126B upwards are implemented when the thumb 138 is placed onbutton zone 124B. Referring to FIG. 11C, on screen movements 126C to theleft are implemented when the thumb 138 is placed on button zone 124C.Referring to FIG. 11D, on screen movements 126D downwards areimplemented when the thumb 138 is placed on button zone 124D.

It should be noted that the configuration shown in FIGS. 11A-D is not alimitation and that the media player may be held a variety of ways. Forexample, in an alternate embodiment, the media device may comfortablyheld by one hand while being comfortably addressed by the other hand.This configuration generally allows the user to easily actuate the touchpad with one or more fingers. For example, the thumb and rightmostfingers (or leftmost fingers if left handed) of the first hand are usedto grip the sides of the media player while a finger of the oppositehand is used to actuate the touch pad. The entire top surface of thetouch pad is accessible to the user's finger.

FIG. 12 is a partially broken away perspective view of an annularcapacitive touch pad 150, in accordance with one embodiment of thepresent invention. The annular capacitive touch pad 150 is arranged todetect changes in capacitance as the user moves, taps, rests an objectsuch as a finger on the touch pad 150. The annular capacitive touch pad150 is formed from various layers including at least a label layer 152,an electrode layer 154 and a circuit board 156. The label layer 152 isdisposed over the electrode layer 154 and the electrode layer 154 isdisposed over the circuit board 156. At least the label 152 andelectrode layer 154 are annular such that they are defined by concentriccircles, i.e., they have an inner perimeter and an outer perimeter. Thecircuit board 156 is generally a circular piece having an outerperimeter that coincides with the outer perimeter of the label 152 andelectrode layer 154. It should be noted, however, that in some cases thecircuit board 156 may be annular or the label 152 and electrode layer154 may be circular.

The label layer 152 serves to protect the underlayers and to provide asurface for allowing a finger to slide thereon. The surface is generallysmooth so that the finger does not stick to it when moved. The labellayer 152 also provides an insulating layer between the finger and theelectrode layer 154. The electrode layer 154 includes a plurality ofspatially distinct electrodes 158 that have positions based on the polarcoordinate system. For instance, the electrodes 158 are positionedangularly and/or radically on the circuit board 156 such that each ofthe electrodes 158 defines a distinct angular and/or radial positionthereon. Any suitable number of electrodes 158 may be used. In mostcases, it would be desirable to increase the number of electrodes 158 soas to provide higher resolution, i.e., more information can be used forthings such as acceleration. In the illustrated embodiment, theelectrode layer 154 is broken up into a plurality of angularly slicedelectrodes 158. The angularly sliced electrodes 158 may be groupedtogether to form one or more distinct button zones 159. In oneimplementation, the electrode layer 154 includes about 1024 angularlysliced electrodes that work together to form 128 angularly sliced buttonzones 159.

When configured together, the touch pad 150 provides a touch sensitivesurface that works according to the principals of capacitance. As shouldbe appreciated, whenever two electrically conductive members come closeto one another without actually touching, their electric fields interactto form capacitance. In this configuration, the first electricallyconductive member is one or more of the electrodes 158 and the secondelectrically conductive member is the finger of the user. Accordingly,as the finger approaches the touch pad 150, a tiny capacitance formsbetween the finger and the electrodes 158 in close proximity to thefinger. The capacitance in each of the electrodes 158 is measured bycontrol circuitry 160 located on the backside of the circuit board 156.By detecting changes in capacitance at each of the electrodes 158, thecontrol circuitry 160 can determine the angular and/or radial location,direction, speed and acceleration of the finger as it is moved acrossthe touch pad 150. The control circuitry 160 can also report thisinformation in a form that can be used by a computing device such as amedia player. By way of example, the control circuitry may include anASIC (application specific integrated circuit).

Referring to FIG. 13, a radial touch pad 178 (rather than an angulartouch pad as shown in FIG. 12) will be discussed in accordance with oneembodiment. The touch pad 178 may be divided into several independentand spatially distinct button zones 180 that are positioned radicallyfrom the center 182 of the touch pad 178 to the perimeter 184 of thetouch pad 178. Any number of radial zones may be used. In oneembodiment, each of the radial zones 180 represents a radial position inthe plane of the touch pad 178. By way of example, the zones 180 may bespaced at 5 mm increments. Like above, each of the button zones 180 hasone or more electrodes 186 disposed therein for detecting the presenceof an object such as a finger. In the illustrated embodiment, aplurality of radial electrodes 186 are combined to form each of thebutton zones 180.

Referring to FIG. 14, a combination angular/radial touch pad 188 will bediscussed in accordance with one embodiment. The touch pad 188 may bedivided into several independent and spatially distinct button zones 190that are positioned both angularly and radically about the periphery ofthe touch pad 188 and from the center of the touch pad 188 to theperimeter of the touch pad 138. Any number of combination zones may beused. In one embodiment, each of the combination button zones 190represents both an angular and radial position in the plane of the touchpad 188. By way of example, the zones may be positioned at both 2degrees and 5 mm increments. Like above, each of the combination zones190 has one or more electrodes 192 disposed therein for detecting thepresence of an object such as a finger. In the illustrated embodiment, aplurality of angular/radial electrodes 192 are combined to form each ofthe button zones 190.

Furthermore, in order to provide higher resolution, a more complexarrangement of angular/radial electrodes may be used. For example, asshown in FIG. 15, the touch pad 200 may include angular and radialelectrodes 202 that are broken up such that consecutive zones do notcoincide exactly. In this embodiment, the touch pad 200 has an annularshape and the electrodes 202 follow a spiral path around the touch pad200 from the center to the outer perimeter of the touch pad 200. Theelectrodes 202 may be grouped together to form one or more distinctbutton zones 204.

It should be noted that although the touch pads herein are all shown ascircular that they may take on other forms such as other curvilinearshapes (e.g., oval, annular and the like), rectilinear shapes (e.g.,hexagon, pentagon, octagon, rectangle, square, and the like) or acombination of curvilinear and rectilinear (e.g., dome).

The various aspects of the inventions described above can be used aloneor in various combinations. The invention is preferably implemented by acombination of hardware and software, but can also be implemented inhardware or software. The invention can also be embodied as computerreadable code on a computer readable medium. The computer readablemedium is any data storage device that can store data which canthereafter be read by a computer system. Examples of the computerreadable medium include read-only memory, random-access memory, CD-ROMs,DVDs, magnetic tape, optical data storage devices, and carrier waves.The computer readable medium can also be distributed over a networkcoupled computer systems so that the computer readable code is storedand executed in a distributed fashion.

As mentioned above, the touch pad assembly may communicate with the hostdevice via a serial interface. An example of a serial interface will nowbe described. The serial interface consists of at least four signalsincluding a clock, ATN, DATA-IN, and DATA_OUT. The clock and DATA_OUTare driven by the touch pad assembly. The ATN and DATA_IN are driven bythe host device. In most cases, packet transfers are initiated by thetouch pad assembly, clocked by the touch pad assembly and done at a timeconvenient to the touch pad assembly. The host device relies on thetouch pad assembly to initiate transfers. The touch pad assemblytransfers a packet when it detects a change in button status or touchpad position or if it detects an ATN signal from the host. If the hostwishes to send data to the touch pad assembly it asserts the ATN signaland keeps it asserted until after the packet it wants to send has beentransferred. The touch pad assembly monitors the ATN signal andinitiates a transfer if it sees it asserted.

There are typically several defined packets types that the touch padassembly can transmit. In this example, there are at least two kinds ofpackets: unsolicited packets and packets sent as a response to an ATNsignal. The touch pad assembly sends unsolicited packets unlessspecifically asked by the host to send another type. In the case ofunsolicited packets, the unsolicited packets are sent periodicallywhenever it detects a change in button status or touch pad position. Inthe case of solicited packets, the touch pad assembly typically onlysends one for each request by the host and then reverts back tounsolicited packets. Unsolicited packets generally have a delay betweenthem while response packets may be sent at any time in response to theATN signal.

While this invention has been described in terms of several preferredembodiments, there are alterations, permutations, and equivalents, whichfall within the scope of this invention. For example, although theinvention has been described in terms of an MP3 music player, it shouldbe appreciated that certain features of the invention may also beapplied to other types of media players such as video recorders,cameras, and the like. Furthermore, the MP3 music player describedherein is not limited to the MP3 music format. Other audio formats suchas MP3 VBR (variable bit rate), AIFF and WAV formats may be used.Moreover, certain aspects of the invention are not limited to handhelddevices. For example, the touch pad may also be used in other computingdevices such as a portable computer, personal digital assistants (PDA),cellular phones, and the like. The touch pad may also be used a standalone input device that connects to a desktop or portable computer.

It should also be noted that there are many alternative ways ofimplementing the methods and apparatuses of the present invention. Forexample, although the touch pad has been described in terms of beingactuated by a finger, it should be noted that other objects may be usedto actuate it in some cases. For example, a stylus or other object maybe used in some configurations of the touch pad. It is thereforeintended that the following appended claims be interpreted as includingall such alterations, permutations, and equivalents as fall within thetrue spirit and scope of the present invention.

1. (canceled)
 2. An electronic device comprising: a touch panel having atouch-sensitive surface divided into a plurality of angular regions,wherein the plurality of angular regions corresponds to a plurality ofnative sensor coordinates; and a controller configured to: receive, fromthe touch panel, a signal indicative of a touch input at a first nativesensor coordinate of the plurality of native sensor coordinates,determine, based on the signal, an angular region of the plurality ofangular regions, the angular region corresponding to the first nativesensor coordinate, apply, to a first data comprising a control signalindicative of the angular region, a filtering process to reduce a sizeof the first data from a first size to a second size, and send, to ahost device, the first data.
 3. The electronic device of claim 2,wherein the control signal is configured to provide an input to amovement function, and each angular region of the plurality of angularregions corresponds to a movement direction.
 4. The electronic device ofclaim 2, wherein each angular region of the plurality of angular regionscorresponds to a button input.
 5. The electronic device of claim 2,wherein the control signal is configured to provide an input to ajoystick function, and each angular region of the plurality of angularregions is associated with an input of a joystick.
 6. The electronicdevice of claim 2, wherein the control signal is configured to providean input to a menu selection function, and each angular region of theplurality of angular regions is associated with an input to a menu. 7.The electronic device of claim 2, wherein the control signal isconfigured to provide an input to an image manipulation function.
 8. Theelectronic device of claim 7, wherein the image manipulation functioncomprises a panning operation and each angular region of the pluralityof angular regions is associated with a panning direction.
 9. Theelectronic device of claim 2, wherein: the signal is further indicativeof a location of the touch input with respect to the touch-sensitivesurface, and the controller is further configured to: determine, basedon the signal, whether a distance between the location of the touchinput with respect to the touch-sensitive surface and a prior locationof the touch input with respect to the touch-sensitive surface isgreater than a threshold value, and in accordance with a determinationthat the distance is not greater than the threshold value, forgo sendingthe first data to the host device.
 10. The electronic device of claim 2,wherein the controller is further configured to: determine whether thetouch input is associated with an undesired input event; and inaccordance with a determination that the touch input is associated withan undesired input event, forgo sending the first data to the hostdevice.
 11. A method comprising: receiving, from a touch panel having atouch-sensitive surface, the touch-sensitive surface divided into aplurality of angular regions, the plurality of angular regionscorresponding to a plurality of native sensor coordinates, a signalindicative of a touch input at a first native sensor coordinate of theplurality of native sensor coordinates; determining, based on thesignal, an angular region of the plurality of angular regions, theangular region corresponding to the first native sensor coordinate;applying, to a first data comprising a control signal indicative of theangular region, a filtering process to reduce a size of the first datafrom a first size to a second size; and sending, to a host device, thefirst data.
 12. The method of claim 11, wherein the control signal isconfigured to provide an input to a movement function, and each angularregion of the plurality of angular regions corresponds to a movementdirection.
 13. The method of claim 11, wherein each angular region ofthe plurality of angular regions corresponds to a button input.
 14. Themethod of claim 11, wherein the control signal is configured to providean input to a joystick function, and each angular region of theplurality of angular regions is associated with an input of a joystick.15. The method of claim 11, wherein the control signal is configured toprovide an input to a menu selection function, and each angular regionof the plurality of angular regions is associated with an input to amenu.
 16. The method of claim 11, wherein the control signal isconfigured to provide an input to an image manipulation function. 17.The method of claim 11, wherein the image manipulation functioncomprises a panning operation and each angular region of the pluralityof angular regions is associated with a panning direction.
 18. Themethod of claim 11, wherein: the signal is further indicative of alocation of the touch input with respect to the touch-sensitive surface,and the controller is further configured to: determine, based on thesignal, whether a distance between the location of the touch input withrespect to the touch-sensitive surface and a prior location of the touchinput with respect to the touch-sensitive surface is greater than athreshold value; and in accordance with a determination that thedistance is not greater than the threshold value, forgo sending thefirst data to the host device.
 19. The method of claim 11, wherein thecontroller is further configured to: determine whether the touch inputis associated with an undesired input event; and in accordance with adetermination that the touch input is associated with an undesired inputevent, forgo sending the first data to the host device.
 20. Acomputer-readable medium containing instructions, which when executed byone or more processors cause the one or more processors to perform amethod comprising: receiving, from a touch panel having atouch-sensitive surface, the touch-sensitive surface divided into aplurality of angular regions, the plurality of angular regionscorresponding to a plurality of native sensor coordinates, a signalindicative of a touch input at a first native sensor coordinate of theplurality of native sensor coordinates; determining, based on thesignal, an angular region of the plurality of angular regions, theangular region corresponding to the first native sensor coordinate;applying, to a first data comprising a control signal indicative of theangular region, a filtering process to reduce a size of the first datafrom a first size to a second size; and sending, to a host device, thefirst data.
 21. The computer-readable medium of claim 20, wherein thecontrol signal is configured to provide an input to a movement function,and each angular region of the plurality of angular regions correspondsto a movement direction.
 22. The computer-readable medium of claim 20,wherein each angular region of the plurality of angular regionscorresponds to a button input.
 23. The computer-readable medium of claim20, wherein the control signal is configured to provide an input to ajoystick function, and each angular region of the plurality of angularregions is associated with an input of a joystick.
 24. Thecomputer-readable medium of claim 20, wherein the control signal isconfigured to provide an input to a menu selection function, and eachangular region of the plurality of angular regions is associated with aninput to a menu.
 25. The computer-readable medium of claim 20, wherein:the signal is further indicative of a location of the touch input withrespect to the touch-sensitive surface, and the controller is furtherconfigured to: determine, based on the signal, whether a distancebetween the location of the touch input with respect to thetouch-sensitive surface and a prior location of the touch input withrespect to the touch-sensitive surface is greater than a thresholdvalue; and in accordance with a determination that the distance is notgreater than the threshold value, forgo sending the first data to thehost device.
 26. The computer-readable medium of claim 20, wherein thecontroller is further configured to: determine whether the touch inputis associated with an undesired input event; and in accordance with adetermination that the touch input is associated with an undesired inputevent, forgo sending the first data to the host device.